import { AnimateEasing } from "../animate/AnimateFunction";

export interface CameraOptions {
    bearing?: number;
    pitch?: number;
    center?: Coordinate;
}

export interface EventMap {
    bearingStart: MouseEvent | TouchEvent;
    bearing: MouseEvent | TouchEvent;
    bearingEnd: MouseEvent | TouchEvent;
    pitchStart: MouseEvent | TouchEvent;
    pitch: MouseEvent | TouchEvent;
    pitchEnd: MouseEvent | TouchEvent;
    moveStart: MouseEvent | TouchEvent;
    move: MouseEvent | TouchEvent;
    moveEnd: MouseEvent | TouchEvent;
    gestureStart: MouseEvent | TouchEvent;
    gesture: MouseEvent | TouchEvent;
    gestureEnd: MouseEvent | TouchEvent;
}

export interface Options extends CameraOptions {

}

export interface AnimateOptions extends CameraOptions {
    duration?: number;
    complete?: Function;
    easing?: AnimateEasing;
}

export const defaultOptions = {
    bearing: 0,
    pitch: 0,
    center: { x: 0, y: 0 },
};
